package com.cloudbroker.bcs.platform.ltb.bizapi.t2service.business;

import com.cloudbroker.bcs.common.entity.PageBackVO;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.response.*;
import com.cloudbroker.bcs.platform.ltb.bizapi.constants.IFSFunctionIds;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.base.back.ResultVO;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.leader.back.ComuserSignQryList;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.leader.back.InviteLogList;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.leader.back.LeaderBackVo;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.leader.back.LeaderListBackVo;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.leader.vo.InviteLogForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.leader.vo.LeaderGetMessageForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.leader.vo.MiddleComuserSignQryForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.leader.vo.MiddleUserAdviserHisQryForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.transaction.vo.ComUserCollectForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.transaction.vo.LeaderRankForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.transaction.vo.LeaderRecommendForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.user.vo.UserListQueryForm;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;

/**
 * Created by tianrui on 2016/7/22.
 */

@ServiceModule
public interface LeaderT2BizService {

    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_LEADER_INFOMATION_QUERY, desc = "获取投顾信息")
    public LeaderBackVo getLeaderMsg(LeaderGetMessageForm form);

    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_COMUSER_RECOMMEND_QRY, desc = "达人推荐信息查询")
    RecommendInterestQryBackVo comuser_recommend_qry(LeaderRecommendForm form);

    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_INTEREST_RANK_QUERY, desc = "达人排名")
    InterestRankQryBackVo func_interest_rank_query(LeaderRankForm form);

    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_INTEREST_FOCUS, desc = "用户已收藏投顾查询")
    FocusInterestQryBackVo func_interest_focus(ComUserCollectForm form);

    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_LEADER_LIST, desc = "查询投顾列表")
    LeaderListBackVo getLeaderList(UserListQueryForm form);

    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_USER_ADVISER_HIS_QRY, desc = "用户签约达人历史查询")
    UserAdviserHisQryVo func_user_adviser_his_qry(MiddleUserAdviserHisQryForm form);

    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_LEADER_INVITE_LOG, desc = "投顾邀请人员列表")
    public InviteLogList fetchInviteLogs(InviteLogForm form);

    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_USER_SIGN_ADVISER, desc = "用户已签约达人查询")
    ComuserSignQryList func_comuser_sign_qry(MiddleComuserSignQryForm form);
}
